(Info-get-token): Check that thesecond search succeeded.
authorRichard M. Stallman <rms@gnu.org>
Mon, 31 May 1993 17:56:14 +0000 (17:56 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 31 May 1993 17:56:14 +0000 (17:56 +0000)
lisp/info.el

index 2a929c95d4092d7c693b755f38a10387079ff20a..8176ce6934d146ceb893493cebda8ec396207343 100644 (file)
@@ -1052,19 +1052,20 @@ SIG optional fourth argument, controls action on no match
   (save-excursion
     (goto-char pos)
     (re-search-backward start (max (point-min) (- pos 200)) 'yes)
-    (while (and (re-search-forward all (min (point-max) (+ pos 200)) 'yes)
-               (not (and (<= (match-beginning 0) pos)
-                         (> (match-end 0) pos)))))
-    (if (and (<= (match-beginning 0) pos)
-            (> (match-end 0) pos))
-       (buffer-substring (match-beginning 1) (match-end 1))
-      (cond ((null errorstring)
-            nil)
-           ((eq errorstring t)
-            (beep)
-            nil)
-           (t
-            (error "No %s around position %d" errorstring pos))))))
+    (let (found)
+      (while (and (re-search-forward all (min (point-max) (+ pos 200)) 'yes)
+                 (not (setq found (and (<= (match-beginning 0) pos)
+                                       (> (match-end 0) pos))))))
+      (if (and found (<= (match-beginning 0) pos)
+              (> (match-end 0) pos))
+         (buffer-substring (match-beginning 1) (match-end 1))
+       (cond ((null errorstring)
+              nil)
+             ((eq errorstring t)
+              (beep)
+              nil)
+             (t
+              (error "No %s around position %d" errorstring pos)))))))
 
 (defun Info-follow-nearest-node (click)
   "\\<Info-mode-map>Follow a node reference near point.